home *** CD-ROM | disk | FTP | other *** search
/ Freelog 117 / FreelogNo117-OctobreNovembre2013.iso / Programmation / jedit / jedit5.1.0install.exe / {app} / macros / Files / Next_Dirty_Buffer.bsh < prev    next >
Text File  |  2013-07-28  |  1KB  |  50 lines

  1. /*
  2.  * Next_Dirty_Buffer.bsh - Changes the buffer in
  3.  * the current EditPane to the next dirty buffer, if 
  4.  * there is one.
  5.  *
  6.  * Copyright (C) 2002-2004 Ollie Rutherfurd <oliver@rutherfurd.net>
  7.  *
  8.  * $Id: Next_Dirty_Buffer.bsh 21353 2012-03-14 09:46:51Z jojaba_67 $
  9.  */
  10.  
  11. // Localization
  12. final static String NoOtherBufferDirtyMessage = jEdit.getProperty("macro.rs.NextDirtyBuffer.NoOtherBufferDirty.message", "No other buffers are dirty");
  13. final static String NoBufferDirtyMessage = jEdit.getProperty("macro.rs.NextDirtyBuffer.NoBufferDirty.message", "No buffers are dirty");
  14.  
  15. // Process
  16. void nextDirtyBuffer(View view)
  17. {
  18.     Buffer current = view.getBuffer();
  19.     Buffer b = current.getNext();
  20.     for(int i=0; i < jEdit.getBufferCount()-1; i++)
  21.     {
  22.         // Buffer.getNext() returns null on last
  23.         if(b == null)
  24.             b = jEdit.getFirstBuffer();
  25.         if(b.isDirty())
  26.         {
  27.             view.getEditPane().setBuffer(b);
  28.             return;
  29.         }
  30.         b = b.getNext();    // check next
  31.     }
  32.     // if we get here, we didn't switch
  33.     if(current.isDirty())
  34.         view.getStatus().setMessageAndClear(NoOtherBufferDirtyMessage);
  35.     else
  36.         view.getStatus().setMessageAndClear(NoBufferDirtyMessage);
  37. }
  38.  
  39. nextDirtyBuffer(view);
  40.  
  41. /*
  42.  
  43. <listitem>
  44.     <para><filename>Next_Dirty_Buffer.bsh</filename></para>
  45.     <abstract><para>Switches to the next dirty buffer, if there is one.
  46.     </para></abstract>
  47. </listitem>
  48.  
  49. */
  50.